1. Field of the Invention
The present invention relates to black level control (BLC), and in particular relates to a black level adjustment device and method in a CMOS image sensor to perform BLC processing by using dithering.
2. Description of the Related Art
FIG. 1 illustrates a conventional CMOS image sensor pixel array. A CMOS image sensor (CIS) pixel array 100 may often comprise dark rows and active rows, as illustrated in FIG. 1. The pixels (e.g. R/B/Gr/Gb) in the CMOS image sensor pixel array 100 are arranged in the “Bayer Pattern”. The dark rows 110 are fully shielded so that there is no light received, while the active rows 120 are used to receive the light rays or image incidents thereon. The dark rows are mainly used for calibrating pixel values in an analog front-end in the CMOS image sensor for proper black level output. A so-called black level control/cancellation (BLC) process may utilize the output pixel values of dark rows to reduce the bias/offset induced by the noise of the circuits of the CIS and the imperfect analog design.
Generally, taking one shot of a frame in the CIS may comprise the following steps: resetting and reading (exposure process) pixels of the dark rows; outputting the pixels of the dark rows for BLC processing; calibrating the analog circuit and adjusting the offset for proper black output level for BLC processing; freezing of the BLC setting at the end of the dark rows; resetting and reading the pixels of the active rows; performing BLC processing on the active row pixel values based on the frozen settings in the dark rows.
In addition, a general way to compensate for the bias is to firstly compute the average pixel value of the dark rows and then subtract the pixel values of the active rows by the average. The calculation of the average pixel value in the digital circuits in the BLC process inevitably possesses numerical errors owing to finite accuracy. In color sensors, the inevitably numerical errors in the color channels may cause significant color hue shifting, especially when the image signal processor (ISP) applies high channel gains to pixels of different color channels. Prior technologies may use a low-cost divider to compute an average value of dark rows. However, the inevitably numerical errors are not negligible and may cause color/brightness flashing; especially when the back-end ISP employs large channel gains for image processing.